﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.IO;
using System.Collections;

namespace PlaylistGenerator_v2._0
{
    public class LeitorDeXml
    {
        private static Hashtable tipos;
        private static TipoPasta getTipoDePasta(String tipo)
        {
            if (tipos == null)
            {
                tipos = new Hashtable();
                tipos.Add(TipoPasta.MUSICA.ToString(), TipoPasta.MUSICA);
                tipos.Add(TipoPasta.COMERCIAL.ToString(), TipoPasta.COMERCIAL);
            }
            return (TipoPasta)tipos[tipo];
        }

        private static XmlTextReader xr;

        public static List<Pasta> getPastasDoArquivo(String filePath)
        {
            List<Pasta> pastasRecuperadas = new List<Pasta>();

            if (File.Exists(filePath))
            {
                xr = new XmlTextReader(filePath);
                xr.Read();
                xr.MoveToElement();
                while (xr.Read())
                {
                    xr.MoveToElement();
                    if (xr.Name.Equals("pasta"))
                    {
                        String folderPath = xr.GetAttribute("folderPath");
                        String tipo = xr.GetAttribute("tipoDePasta");
                        Pasta pasta = new Pasta(folderPath, getTipoDePasta(tipo));
                        pastasRecuperadas.Add(pasta);
                    }
                }
                xr.Close();
            }
            return pastasRecuperadas;
        }
    }
}
